home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / ippon / source.lzh / FuncEffect / points.c < prev   
C/C++ Source or Header  |  2000-07-07  |  763b  |  45 lines

  1. /* point.c 得点表示パターン */
  2.  
  3. #include <xsp2lib.h>
  4.  
  5. #include "../main.h"
  6. #include "../effect.h"
  7.  
  8. #define PALET_POINTS        0x0700
  9.  
  10. static short EffectMovePoints (EFFECT *);
  11.  
  12.  
  13. /* エフェクト出現時に呼ばれる */
  14. void EffectAllocPoints (EFFECT * p)
  15. {
  16.     p->pt = obj_points + p->type2;
  17.     p->info = PALET_POINTS | PRIORITY_POINTS;
  18.     p->seq = 0;
  19.     p->func_effect_move = EffectMovePoints;
  20.     p->ly = p->y << 16;
  21.     p->vy = -1 << 14;
  22.     {
  23.         /* 一旦テンポラリにコピーした方が速い */
  24.         signed int t = points_table2[p->type2];
  25.         score += t;
  26.     }
  27. }
  28.  
  29.  
  30.  
  31. /* 得点表示 */
  32. static short EffectMovePoints (EFFECT * p)
  33. {
  34.     /* 速度を足して上位ワード(固定整数部)だけ取り出す */
  35.     p->y = (p->ly += p->vy) >> 16;
  36.  
  37.     p->seq++;
  38.     if (p->seq > 60)
  39.         return (-1);
  40.     else
  41.         xobj_set_st (p);
  42.  
  43.     return (0);
  44. }
  45.